Many communication architectures follow a layered model in which the lowest layer deals with physical transmission media and progressively higher layers perform higher level communication services until, at a selected intermediate or the highest layer, communication with some final process or user is achieved. At a processing node, the layered approach isolates the functions performed in one layer from the details of operation required to perform the functions of the lower layers. Between data processing nodes, functions at the same layers are considered to be peer functions that interact with each other during communication using the layered protocols. At a single node, processes in one layer obtain services from processes in the adjacent lower layer.
The Open Systems Interconnection (OSI) standard is one such layered architecture. A description of the OSI model is set forth in ISO International Standard 7498, Information Processing Systems--Open Systems Interconnection--Basic Reference Model, First Edition--1984-10-15.
In layered architectures such as the OSI model, a service user in one layer is associated with a service provided in the adjacent lower layer by some addressing facility. In OSI, this addressing facility is known as a Service Access Point (SAP). OSI refers to the things in a layer receiving services or giving service as entities. An entity may be a single process, a group of logically related processes, etc. We will adopt this term here as it is used in OSI.
A provider entity in layer n may be attached to one or more SAPs which are attached to the same or different n+1 layer user entities. The provider in a given layer, for example, may route incoming blocks of information from lower layers to an appropriate entity in the next higher layer for which the information blocks are intended. We will refer to such information blocks as protocol information blocks (PIBs). The term "protocol" indicates that such a block is received over a communications medium such as 104. PIBs may be further classified as protocol control blocks (PCBs) and protocol data blocks (PDBs). PBDs contain the transport data that is to be delivered to a data using entity. PCBs, on the other hand, contain control information, such as information used for the setup and teardown of a connection.
In OSI, the routing of PIBs between layers is accomplished by means of a SAP identification (SAP.ID) including in each PIB header. A PIB is sent to the identified SAP.ID and thus to the next layer entity which is also attached to the SAP. Therefore, an entity in layer n is able to route PIBs to layer n+1 entities based on the SAP.ID contained in each PIB. However, the server entity is unable to distinguish and route PIBs based on their type (e.g., PCBs or PDBs). Since all PIBs destined for a SAP. regardless of type, are routed to the same entity in the next upper layer, this means that the final user entity in the layered architecture that receives the PIB must have the capability of dealing with all types of PIBs relevant to the communication function being implemented. Thus, for example, a final user entity must have the functionality to process both PCBs (connection establishment, XID exchanges, error blocks, etc,) and PBDs. XID stands for Exchange Identification. XID exchanges are defined as part of the System Network Architecture (SNA) standards, as well as by the OSI and other protocol standards. The purpose of an XID exchange, among other things, is initially to identify the end points and the parameters to be used in subsequent communication over a connection. The requirement that a final user entity have the capability to deal with all types of PIB exchanges that might occur on a given data connection is inefficient and inflexible for many environments.